Verifying Synchronization Strategies

نویسندگان

  • Chris J. Myers
  • Eric Mercer
  • Hans Jacobson
چکیده

Over the years, there have been numerous methods proposed to solve the synchronization problem. Many of these methods, however, are not sufficiently evaluated before being utilized leading to problems in a system design that are difficult to diagnose and solve. Therefore, it is crucial that strategies for synchronization are critically analyzed and verified before being incorporated in a system design. This paper reviews a number of the known methods for synchronization, discusses issues in their design, and presents techniques for their verification. 1 The Synchronization Problem While there have been many promising asynchronous design examples [48, 4, 17, 42, 1], asynchronous design is still not seeing widespread use. One important reason for this is that asynchronous designs must communicate with other parts of the system which typically operate synchronously. Unfortunately, this is difficult to do reliably without substantial latency penalties. When this latency penalty is taken into account, most, if not all, of the performance advantage gained by an asynchronous design is lost. Even if no asynchronous modules are used, synchronous modules operating at different clock rates or out of phase can have the same problem. The latter problem is becoming more significant as it becomes increasingly difficult to distribute a single global clock to all parts of the chip. Many designers today are considering the necessity of having multiple clock domains on a single chip, and they will need to face this problem. A synchronization problem can occur when a synchronous circuit must synchronize an asynchronous input. This can be done using a single D-type flip-flop as shown in Figure 1(a). However, if the clock edge arrives too close in time to data arriving from an asynchronous circuit, the circuit may enter a metastable state in which its output is at neither a logic 0 or logic 1 level, but rather, lies somewhere in between. This behavior is depicted in Figure 1(b). Assume that Q is initially low and that D has recently gone high. If D goes low again at about the same time that CLK rises, the output Q may start to rise and then get stuck between the logic levels as it observes D falling. Should Q rise or fall? Actually, either answer would be okay, but the flip-flop becomes indecisive. At some point, Q may continue to a logic 1 level, or it may drop to the logic 0 level. When this happens, however, is theoretically unbounded. If during this period of indecision, a ⋆ This research is supported by SRC contract 2002-TJ-1024.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Advanced Algorithms for Performance Monitoring in Synchronization Networks

Advanced synchronization networks are provided with monitoring systems that allow verifying continuously, in real time, the performance achieved in timing distribution. In this paper, centralized and decentralized strategies for performance monitoring in synchronization networks are first outlined, by highlighting system architectures, advantages and drawbacks. Then, advanced algorithms for imp...

متن کامل

Benchmark for Verification of Fault-Tolerant Clock Synchronization Algorithms

In this paper, we propose a benchmark for verification of properties of fault-tolerant clock synchronization algorithms, namely, a benchmark of a TTEthernet network, where properties of the clock synchronization algorithm as implemented in a TTEthernet network can be verified, and optimization techniques for verification purposes can be applied. Our benchmark, which assumes non-faulty component...

متن کامل

Verification of Fault-Tolerant Clock Synchronization Algorithms

In this paper, we propose a benchmark for verification of properties of fault-tolerant clock synchronization algorithms, namely, a benchmark of a TTEthernet network, where properties of the clock synchronization algorithm as implemented in a TTEthernet network can be verified, and optimization techniques for verification purposes can be applied. Our benchmark, which assumes non-faulty component...

متن کامل

Verification of Static and Dynamic Barrier Synchronization Using Bounded Permissions

Mainstream languages such as C/C++ (with Pthreads), Java, and .NET provide programmers with both static and dynamic barriers for synchronizing concurrent threads in fork/join programs. However, such barrier synchronization in fork/join programs is hard to verify since programmers must not only keep track of the dynamic number of participating threads, but also ensure that all participants proce...

متن کامل

P-64: Strategies to Optimize Reproductive Efficiencyby Regulation of Ovarian Function inyak (Poephagus Grunniens L.)

Background: To design a pre-Ovsynch hormonal strategy in yaks in order to increase the ovulatory response to the first GnRH injection of Ovsynch so that overall synchronization rate to Ovsynch could be improved. Materials and Methods: Non-lactating cyclic yak cows (n=33) were assigned to receive either no treatment before Ovsynch (control) or 0.375mg of PGF2(PreP) followed 2 d later by 10 g of ...

متن کامل

Verification of Synchronization in SpecC Description with the Use of Difference Decision Diagram

SpecC language is designated to handle the design of entire system from specification to implementation and of hardware/software co-design. Concurrency is one of the features of SpecC which expresses the parallel execution of processes. Describing the systems which contain concurrent behaviors would have some data exchanging or transferring among them. Therefore, the synchronization semantics (...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2007